package com.tian.service;

import com.tian.dto.ChargeBalanceRecordDto;
import com.tian.dto.PayNotifyReqDto;
import com.tian.dto.WxPrePayReqDto;
import com.tian.util.CommonResult;

/**
 * @author tianwc 公众号：java后端技术全栈、面试专栏
 * @version 1.0.0
 * @date 2023年05月12日 16:10
 * 博客地址：<a href="http://woaijava.cc/">博客地址</a>
 * <p>
 * 支付单
 */
public interface ChargeBalanceRecordService {

    /**
     * 创建充值记录
     *
     * @param wxPrePayReqDto 订单参数
     * @return 是否创建成
     */
    CommonResult<Boolean> createRecord(WxPrePayReqDto wxPrePayReqDto);

    /**
     * 通过单号查询充值记录信息
     *
     * @param orderNo 支付单号
     * @return 单号查询充值记录信息
     */
    CommonResult<ChargeBalanceRecordDto> selectByOrderNo(String orderNo);

    /**
     * 支付订单查询
     */
    CommonResult<Boolean>  queryPayOrderJob();

    /**
     * 微信支付回调通知
     *
     * @param payNotifyReqDto 回调参数
     * @return 通知结果
     * @throws Exception 通知失败异常
     */
    CommonResult<Boolean> wxPayNotify(PayNotifyReqDto payNotifyReqDto) throws Exception;
}
